Skip to content

Add retained text queries and bind multiplayer actions to player identities (UI-03/UI-09) - #210

Merged
themuffinator merged 7 commits into
mainfrom
codex/ui-roadmap-integration
Nov 4, 2026
Merged

themuffinator merged 7 commits into
mainfrom
codex/ui-roadmap-integration

Conversation

@themuffinator

@themuffinator themuffinator commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

Multiplayer menu actions now stay attached to the selected connection when a player leaves and another takes the same slot. This covers delayed mute/unmute, retained Admin selection/actions, authenticated rcon administration, and kick votes from menu selection through server admission, voting and execution. A stale kick target blocks the entire mixed draft; explicitly choosing a current player or No one acknowledges the change. The classic menu also rejects the whole stale draft.

Choices can declare a catalog context independently of their value. A changed catalog closes the popup and cancels held or queued proposals, including same-label replacements and ABA changes. The kick choice freezes its ordered catalog through the adapter/session boundary; both legacy and packed kick requests carry the selected 32-bit identity. Non-kick wire formats are unchanged. Install matching engine, multiplayer module and menu content (mp.protocol 4). Remote kick votes require server capability si_uiTargetProtocol=2; current clients retain version-1 mute/Admin support and never fall back to ambiguous slot-only kick requests.

Retained interfaces also gain public localized binding-name refresh and plain UTF-8 text-fit queries. CONTROLS uses the shared path for all 49 bindings while preserving capture, clear and rebind behavior. Fitting uses the current label width/font metrics, returns whole scalar boundaries, and leaves the caller's output intact for invalid or unavailable queries.

Validation on Windows x64 passes the fresh debugoptimized build/stage, all ten affected native suites, the adapter with all 20 mutation controls rejected, and the player-target harness with all 10 controls rejected. The session gate passes 1,033 checks plus server-card/loading/prompt coverage. Localization/label fitting covers all 12 languages; vote, encoding, path and validation-workflow regressions pass. OpenGL/English at 1280x720 and Vulkan/French at 1920x1080 exercise same-name replacement, blocked mixed drafts, explicit clearing, a fresh kick and return to gameplay. All 22 final engine screenshots were reviewed. Earlier text-query evidence includes 14 reviewed SP/MP captures and capture/rebind/clear at 200% text size.

Exact source/binary/report/capture bindings and failed attempts are retained in .tmp/ui-vote-targets/validation-evidence.json, with previous increments in .tmp/ui-roadmap-next/validation-evidence.json and .tmp/ui-roadmap/validation-evidence.json. The current runs have no retained-UI warnings or errors, but each reports 179 stock/bot late-precache warnings and one missing burn_misc_sm image. Automatic approval review blocked disposable fixture cleanup; no files were removed. Current platform CI is pending; previous-head ARM64 save-codec timeout and unavailable Linux ASan failure logs are not resolved by these changes.

This is a bounded UI-03/UI-09 increment. Match Control identity operands, ban-list refresh, map-transition lifetimes, delayed remote/device/platform qualification, live IME, shaping/bidi, world output, the editor and full corpus/performance/human acceptance remain open. No product requirement, migration resource or final gate is accepted.

Integration note: the branch includes earlier local-main Q4/MP/Vulkan commits that are not yet on remote main. Until the base catches up, the aggregate diff includes that integration work. The UI implementation commits are e4cb0e63d, fc979c078 and 4a5c2a295. Keep this PR draft until its base, review and platform checks are reconciled.

Add bounded capacity tests, cubemap parity checks, capture write-failure handling, executor resource profiling and a foreground presentation harness. Record scoped evidence and retain outstanding hardware and content gates.
# Conflicts:
#	docs/dev/release-completion.md
@themuffinator themuffinator changed the title Keep multiplayer menu actions attached to the selected player (UI-03) Implement retained text queries and guard multiplayer player targets (UI-03/UI-09) Nov 4, 2026
@themuffinator themuffinator changed the title Implement retained text queries and guard multiplayer player targets (UI-03/UI-09) Add retained text queries and bind multiplayer actions to player identities (UI-03/UI-09) Nov 4, 2026
@themuffinator
themuffinator merged commit 0034ddb into main Nov 4, 2026
1 of 12 checks passed
@themuffinator
themuffinator deleted the codex/ui-roadmap-integration branch November 4, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant